<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<body bgcolor="white">

The core interfaces and classes for validation.


<h2>Package Specification</h2>

Provides the interfaces and classes for validation framework. This package 
contains:
<ul>
	<li>The classes for defining validator.</li>
	<li>The interfaces for providing validators and validation trigger 
		condition.</li>
	<li>The classes for validation execution and event nofitication.</li>
</ul>
<p>
When user changes property or adds element into one slot of one element. It's 
possible to trigger some semantic validation on this element. The validation 
rule is defined as individual validator, which is the subclass of 
{@link org.eclipse.birt.report.model.validators.AbstractSemanticValidator}.
The validation is performed only when the trigger condition is satisfied.
The class implementing {@link org.eclipse.birt.report.model.validators.ISemanticTriggerDefnSetProvider} 
provides the trigger condition. And the class
implementing {@link org.eclipse.birt.report.model.validators.IValidatorProvider}
provides the validator list which is collected and computed via the trigger condition. 
And the validation will be organized as {@link org.eclipse.birt.report.model.validators.ValidationNode} 
list. The executor, {@link org.eclipse.birt.report.model.validators.ValidationExecutor}, 
performs all validation and send {@link org.eclipse.birt.report.model.api.validators.ValidationEvent} 
to the listener. The listener interface is defined in
{@link org.eclipse.birt.report.model.api.core.Listener}.
</p>

<!-- Put @see and @since tags down here. -->

</body>
</html>
